// // // export interface DraggableItem {
// // //   id: string;
// // //   type: 'container' | 'widget';
// // //   layoutType?: ContainerType;
// // //   widgetType?: WidgetType;
// // //   data?: any;
// // // }
// // //
// // // export type ContainerType =
// // //   | 'single-column'
// // //   | 'two-columns'
// // //   | 'three-columns'
// // //   | 'four-columns'
// // //   | 'tab-container'
// // //   | 'step-container';
// // //
// // // export type WidgetType =
// // //   | 'table'
// // //   | 'view'
// // //   | 'bar-chart'
// // //   | 'line-chart';
// // //
// // // export interface LayoutContainer {
// // //   id: string;
// // //   type: ContainerType;
// // //   title: string;
// // //   children: WidgetComponent[];
// // //   config?: any;
// // // }
// // //
// // // export interface WidgetComponent {
// // //   id: string;
// // //   type: WidgetType;
// // //   title: string;
// // //   data?: any;
// // // }
// //
// // export interface DraggableItem {
// //   id: string;
// //   type: 'container' | 'widget';
// //   layoutType?: ContainerType;
// //   widgetType?: WidgetType;
// //   data?: any;
// // }
// //
// // export type ContainerType =
// //   | 'single-column'
// //   | 'two-columns'
// //   | 'three-columns'
// //   | 'four-columns'
// //   | 'tab-container'
// //   | 'step-container';
// //
// // export type WidgetType =
// //   | 'table'
// //   | 'view'
// //   | 'bar-chart'
// //   | 'line-chart';
// //
// // export interface LayoutContainer {
// //   id: string;
// //   type: ContainerType;
// //   title: string;
// //   children: WidgetComponent[];
// //   config?: any;
// //   order?: number; // 添加排序字段
// // }
// //
// // export interface WidgetComponent {
// //   id: string;
// //   type: WidgetType;
// //   title: string;
// //   data?: any;
// //   order?: number; // 添加排序字段
// // }
// //
// // // 容器配置接口
// // export interface ContainerConfig {
// //   id: string;
// //   type: ContainerType;
// //   title: string;
// //   canContain: ('container' | 'widget')[];
// //   maxChildren?: number;
// // }
//
// export interface DraggableItem {
//   id: string;
//   type: 'container' | 'widget';
//   layoutType?: ContainerType;
//   widgetType?: WidgetType;
//   data?: any;
// }
//
// export type ContainerType =
//   | 'single-column'
//   | 'two-columns'
//   | 'three-columns'
//   | 'four-columns'
//   | 'tab-container'
//   | 'step-container';
//
// export type WidgetType =
//   | 'table'
//   | 'view'
//   | 'bar-chart'
//   | 'line-chart';
//
// export interface LayoutContainer {
//   id: string;
//   type: ContainerType;
//   title: string;
//   children: WidgetComponent[];
//   config?: any;
//   order?: number;
// }
//
// export interface WidgetComponent {
//   id: string;
//   type: WidgetType;
//   title: string;
//   data?: any;
//   order?: number;
// }
//
// export interface ContainerConfig {
//   id: string;
//   type: ContainerType;
//   title: string;
//   canContain: ('container' | 'widget')[];
//   maxChildren?: number;
// }

export interface DraggableItem {
  id: string;
  type: 'container' | 'widget';
  layoutType?: ContainerType;
  widgetType?: WidgetType;
  data?: any;
}

export type ContainerType =
  | 'single-column'
  | 'two-columns'
  | 'three-columns'
  | 'four-columns'
  | 'tab-container'
  | 'step-container';

export type WidgetType =
  | 'table'
  | 'view'
  | 'bar-chart'
  | 'line-chart';

export interface LayoutContainer {
  id: string;
  type: ContainerType;
  title: string;
  children: WidgetComponent[];
  config?: any;
  order?: number;
}

export interface WidgetComponent {
  id: string;
  type: WidgetType;
  title: string;
  data?: any;
  order?: number;
}
